package kylin.controller.admin;

import javax.servlet.http.HttpSession;

import kylin.base.entity.DataTables;
import kylin.entity.AdminUser;
import kylin.service.AdminUserService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;


@Controller
@RequestMapping(value="manage/admin")
public class AdminUserController {

	@Autowired
	private AdminUserService adminUserService;
	
	/**
	 * <p>Method Name : gotoLogin</p>
	 * <p>Method Desc : 跳转到登陆页面</p>
	 * @Date 2015年9月21日 上午10:12:21
	 * @Author XQL
	 * @return
	 */
	@RequestMapping(value="gotoLogin")
	public String gotoLogin(){
		return "login";
	}
	
	/**
	 * <p>Method Name : login</p>
	 * <p>Method Desc : 后台用户登录</p>
	 * @Date 2015年9月19日 下午11:07:45
	 * @Author XQL
	 * @param user
	 * @param session
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="login",method={RequestMethod.POST})
	public String login(AdminUser user,HttpSession session) throws Exception{
		
		user = adminUserService.login(user);
		
		if(user != null){
			session.setAttribute("ADMIN", user);
			//return "redirect:/WEB-INF/admin/index.jsp";
			return "redirect:/manage/admin/gotoIndex";
		}else return "login";
	}
	
	/**
	 * <p>Method Name : index</p>
	 * <p>Method Desc : 跳转到后台主页</p>
	 * @Date 2015年9月21日 上午10:16:17
	 * @Author XQL
	 * @return
	 */
	@RequestMapping(value="gotoIndex")
	public String gotoIndex(){
		return "index";
	}
	
	/**
	 * <p>Method Name : logout</p>
	 * <p>Method Desc : 退出登录，注销用户信息</p>
	 * @Date 2015年9月19日 下午11:09:00
	 * @Author XQL
	 * @param session
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="logout")
	public String logout(HttpSession session) throws Exception{
		session.invalidate();
		return "login";
	}
	
	/**
	 * <p>Method Name : gotoShow</p>
	 * <p>Method Desc : 跳转到后台用户列表页面</p>
	 * @Date 2015年9月21日 上午11:38:51
	 * @Author XQL
	 * @return
	 */
	@RequestMapping(value="gotoShow")
	public String gotoShow(){
		return "admin/adminShow";
	}
	
	/**
	 * <p>Method Name : ajaxShow</p>
	 * <p>Method Desc : 分页、条件、排序查询用户列表</p>
	 * @Date 2015年9月19日 下午11:15:56
	 * @Author XQL
	 * @param dt
	 * @param user
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value="ajaxShow")
	public @ResponseBody DataTables ajaxShow(@RequestParam(value="dtJson") DataTables dt,AdminUser user) throws Exception{
		adminUserService.findByPage(dt);
		return dt;
	}
	
}
